#ifndef __M_MSG_H__
#define __M_MSG_H__ 
/* 日志消息类
 * 1.日志输出时间
 * 2.日志等级
 * 3.源文件名称
 * 4.源代码行号
 * 5.线程ID
 * 6.日志主体消息
 * 7.日志器名称
 * */
#include "util.hpp"
#include "level.hpp"
#include <iostream>
#include <string>
#include <thread>

namespace log {
    struct LogMsg {
    public:
        time_t ctime_;// 日志时间 - 时间戳
        LogLevel::Value level_;// 日志等级
        std::string file_;// 源文件名
        size_t line_;// 行号
        std::thread::id tid_;// 线程ID
        std::string payload_;// 主体消息/有效载荷
        std::string name_;// 日志器名
    public:
        LogMsg() {}
        LogMsg(LogLevel::Value level, std::string file, size_t line, std::string payload, std::string name)
            :ctime_(util::Date::get_time()),
            level_(level),
            file_(file),
            line_(line),
            tid_(std::this_thread::get_id()),
            payload_(payload),
            name_(name) {}

    };
}

#endif 
